package com.nulldev.util.logging;

import com.nulldev.util.manage.Unimplemented;

public enum LoggerLook {
	/**
	 * Uses the legacy look that first came when implemented in 2.4. <br>
	 * Example: <br>
	 * <code>
	 * [nullLogger] [INFO] Hello world!
	 * </code>
	 */
	LEGACY,
	/**
	 * Uses the newer look that came when implemented in 2.6. <br>
	 * Example: <br>
	 * <code>
	 * [i] Hello world!
	 * </code>
	 */
	v2, // default
	/**
	 * Implemented in 3.0, based upon 2.6. <br>
	 * Designed to look like the Swift logging API. (Inspired by the unc0ver
	 * jailbreak logger) <br>
	 * Example: <br>
	 * <code>
	 * [∗] Hello world! <br>
	 * [!] Class:example() -> x cannot be null! <br>
	 * [W] Class:example() -> function() is unsupported!
	 * </code>
	 */
	v2_SWIFT,
	/**
	 * Uses the newest look that came when implemented in 3.0, now with colour! <br>
	 * Will fallback to v2 if unsupported. <br>
	 * Example(s): <br>
	 * <code>
	 * [<span style="color: lightgreen;">i</span>] Hello world! <br>
	 * [<span style="color: red;">!!</span>] <span style=
	"color: pink;">Class:example() -> x cannot be null!</span> <span style=
	"color: gray;">[org.example.Example]</span> <br>
	 * [<span style="color: orange;">!</span>] <span style=
	"color: orangered;">Class:example() -> x cannot be null!</span>
	 * </code>
	 */
	v3,
	/**
	 * Implemented in 3.0, based upon 3.0. <br>
	 * Designed to look like the Swift logging API. (Inspired by the unc0ver
	 * jailbreak logger) <br>
	 * Example: <br>
	 * <code>
	 * [<span style="color: lightgreen;">∗</span>] Hello world! <br>
	 * [<span style="color: red;">!</span>] <span style=
	"color: pink;">Class:example() -> x cannot be null!</span> <span style=
	"color: gray;">[org.example.Example]</span> <br>
	 * [<span style="color: orange;">W</span>] <span style=
	"color: orangered;">Class:example() -> x cannot be null!</span>
	 * </code>
	 */
	@Unimplemented
	v3_SWIFT,
}
